<template>
  <header class="header">
    <h1>todos</h1>
    <input id="toggle-all" class="toggle-all" type="checkbox" v-model="isAll" />
    <label for="toggle-all"></label>
    <!-- 绑定键盘事件 获取表单的值 -->
    <input
      class="new-todo"
      placeholder="输入任务名称-回车确认"
      autofocus
      v-model.trim="task"
      @keydown.enter="downFn"
    />
  </header>
</template>

<script>
export default {
  data() {
    return {
      task: "",
    };
  },
  props: ["arr"],
  methods: {
    downFn() {
      // 把值传给父
      this.$emit("create", this.task);
      this.task = "";
    },
  },
  computed: {
    isAll: {
      //true/false
      set(checked) {
        this.arr.forEach((item) => {
          // 使所有的小选框都为全选的状态 true/false
          item.isDone = checked;
        });
      },
      get() {
        return (
          // every 如果所有元素都满足条件，则返回 true。
          // 如果使用的对勾都勾选 则返回true 使全选按钮为true
          this.arr.length !== 0 && this.arr.every((obj) => obj.isDone === true)
        );
      },
    },
  },
};
</script>